package com.xinqi.modules.exam.paper.dto.rsp;

import com.xinqi.modules.exam.paper.enums.ExamStatusEnum;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * 课程测评-响应对象-基础数据
 *
 * @author: linkai
 * @date: 2023/07/02
 */
@Data
@Schema(description = "课程测评-响应对象-基础数据")
public class CourseExamPaperBaseDTO implements Serializable {
    /**
     * 主键
     */
    @Schema(description = "主键", example = "")
    private Long id;
    /**
     * 班级ID
     */
    @Schema(description = "班级ID", example = "")
    private Long classId;
    /**
     * 用户ID
     */
    @Schema(description = "用户ID", example = "")
    private Long userId;
    /**
     * 所属章节ID
     */
    @Schema(description = "所属章节ID", example = "")
    private Long chapterId;
    /**
     * 名称
     */
    @Schema(description = "名称", example = "")
    private String name;
    /**
     * 详情
     */
    @Schema(description = "详情", example = "")
    private String content;
    /**
     * 总分
     */
    @Schema(description = "总分", example = "")
    private BigDecimal totalScore;
    /**
     * 题目总数
     */
    @Schema(description = "题目总数", example = "")
    private Integer questionTotal;
    /**
     * 题型总数
     */
    @Schema(description = "题型总数", example = "")
    private Integer questionTypeTotal;
    /**
     * 测评状态，1-未发布 2-定时发布  3-已开始 4-已结束 5-已发布
     */
    @Schema(description = "测评状态，1-未发布 2-定时发布  3-已开始 4-已结束 5-已发布 ", example = "1")
    private ExamStatusEnum status;
    /**
     * 是否发布
     */
    @Schema(description = "是否发布", example = "")
    private Integer isRelease;
    /**
     * 发布时间
     */
    @Schema(description = "发布时间", example = "")
    private LocalDateTime releaseTime;
    /**
     * 开始时间
     */
    @Schema(description = "开始时间", example = "")
    private LocalDateTime startTime;
    /**
     * 截止时间
     */
    @Schema(description = "截止时间", example = "")
    private LocalDateTime endTime;
    /**
     * 是否生成分析报告
     */
    @Schema(description = "是否生成分析报告", example = "")
    private Integer isGenerateAssistant;
    /**
     * 试卷配置
     */
    @Schema(description = "试卷配置", example = "")
    private CourseExamPaperConfigResultDTO config;

}
